---
title: "Testes de Hipóteses"
author: |
  | **Prof.Vagner Antônio Marques**
  | vagner.marques@ufes.br
  | *Universidade Federal do Espírito Santo*
date: "19/06/2023"
output:
  beamer_presentation:
    slide_level: 2
    toc: false
    theme: "Berlin"
    fonttheme: "structurebold"
    keep_tex: true
header-includes:
  - \usepackage[document]{ragged2e}
  - \setbeamertemplate{navigation symbols}{}
  - \setbeamertemplate{footline}[page number]
  - \usepackage{array}
  - \usepackage{tikz}
  - \usepackage{multirow}
  - \usepackage{xcolor}
  - \usepackage{fancyvrb}
  - \usepackage{hyperref}
  - \usepackage{ragged2e}
  - \usepackage{etoolbox}
  - \usepackage{lipsum}
  - \usepackage{xcolor}
  - \usepackage{fancyhdr}
  - \pagestyle{fancy}
  - \fancyhead[R]{\includegraphics[width=2cm]{fotos/GECAT.jpg}}
  - \rfoot[R]{\raisebox{2.5ex}\thepage}
  - \usepackage{xcolor}
  - \usepackage[brazilian]{babel}
  - \usepackage{wasysym}
editor_options: 
  markdown: 
    wrap: 72
---

```{r include=FALSE}
knitr::opts_knit$set(root.dir = "C:/Users/Vagne/OneDrive/DOCUME~1-LAPTOP-0CUBQV8E-28620/Programa-Mentoria/2.Testes-Hipoteses_files")
```


## INTRODUÇÃO E AGENDA

- Terceira oficina de pesquisa do GECAT em 2023;
- Contextualizar o tema;
- Testes de normalidade;
- Testes de diferenças entre as médias (Paramétricos);
- Testes de diferenças entre as medianas (Não-paramétricos).

------------------------------------------------------------------------

### Testes de Hipóteses na Pesquisa em Contabilidade

\justifying

Os **testes de hipóteses** são úteis na pesquisa em contabilidade para
obtermos evidências de que o fenômeno que estamos estudando seja
estatisticamente significativo. Isso significa que estamos querendo
verificar a veracidade (falsidade) quanto a uma hipótese formulada
sobre:

-   distribuição dos dados;
-   diferenças de médias, medianas, variâncias entre grupos;
-   associação entre variáveis;
-   significâncias dos parâmetros;
-   significância de um modelo;
-   etc.

------------------------------------------------------------------------

### Testes de Hipóteses na Pesquisa em Contabilidade

Na prática, estaremos interessados em entender:

-   A variável apresenta uma distribuição normal?

-   As médias de uma variável entre dois ou mais grupos são iguais?

-   A correlação (associação ou independência) entre as variáveis é
    estatisticamente significativa?

------------------------------------------------------------------------

## Formulação das hipóteses

Em geral, formulamos a hipótese nula ($H_{0}$), por exemplo:

<center>$$\mu_{i} = \mu_{t}$$</center>

e uma hipótese alternativa ($H_{1}$):

```{=tex}
\begin{center}
$$\mu_{i} \neq \mu_{t}$$
\end{center}
```

------------------------------------------------------------------------

## Formulação das hipóteses

\justifying

Podemos ainda, formular uma hipótese alternativa ($H_{1}$) unicaudal (a
direita):

<center>$$\mu_{i} > \mu_{t}$$</center>

Ou uma hipótese alternativa ($H_{1}$) unicaudal (a esquerda):

<center>$$\mu_{i} < \mu_{t}$$</center>

------------------------------------------------------------------------

## Teste Bicaudal

```{r bicaudal, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
# Carregar bibliotecas necessárias
library(ggplot2)
library(ggpubr)

# Gerar uma amostra aleatória de uma distribuição normal padrão
set.seed(123)
amostra <- rnorm(1000, mean = 0, sd = 1)

# Calcular os limites da Região Crítica (RC) e Região de Não Rejeição (RN)
alpha <- 0.05 # Nível de significância
zcritico <- qnorm(1 - alpha/2) # Valor crítico para o teste bicaudal
zlim_inf <- -zcritico # Limite inferior da RC e RN
zlim_sup <- zcritico  # Limite superior da RC e RN

# Criar o gráfico histograma
histograma <- ggplot(data.frame(amostra), aes(x = amostra)) +
  geom_histogram(fill = "grey", color = "black", bins = 20) +
  theme_minimal() +
  labs(x = "Valores", y = "", title = "Teste bicaudal") +
  geom_vline(xintercept = c(zlim_inf, zlim_sup), color = "red", linetype = "dashed", size = 1.5) +
  annotate("text", x = c(zlim_inf, zlim_sup), y = 50, label = c("RC", "RC"), color = "red", size = 4) +
  annotate("text", x = 0, y = 50, label = "RN", color = "blue", size = 4, hjust = 0.5)

# Imprimir o gráfico
histograma

```

------------------------------------------------------------------------

## Teste Unicaudal à direita

```{r unicaudal_direita, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
# Calcular os limites da Região Crítica (RC) e Região de Não Rejeição (RN) para o teste à direita
alpha_direita <- 0.05 # Nível de significância
zcritico_direita <- qnorm(1 - alpha_direita) # Valor crítico para o teste unicaudal à direita
zlim_direita <- zcritico_direita # Limite direito da RC e RN

# Criar o gráfico histograma com teste unicaudal à direita
histograma_direita <- ggplot(data.frame(amostra), aes(x = amostra)) +
  geom_histogram(fill = "grey", color = "black", bins = 20) +
  theme_minimal() +
  labs(x = "Valores", y = "", title = "Teste Unicaudal a Direita") +
  geom_vline(xintercept = zlim_direita, color = "red", linetype = "dashed", size = 1.5) +
  annotate("text", x = zlim_direita, y = 50, label = "RC", color = "red", size = 4) +
  annotate("text", x = 0, y = 50, label = "RN", color = "blue", size = 4, hjust = 0.5)

# Imprimir o gráfico
histograma_direita

```

------------------------------------------------------------------------

## Teste Unicaudal à esquerda

```{r unicaudal_esquerda, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
# Calcular os limites da Região Crítica (RC) e Região de Não Rejeição (RN) para o teste à esquerda
alpha_esquerda <- 0.05 # Nível de significância
zcritico_esquerda <- qnorm(alpha_esquerda) # Valor crítico para o teste unicaudal à esquerda
zlim_esquerda <- zcritico_esquerda  # Limite esquerdo da RC e RN

# Criar o gráfico histograma com teste unicaudal à esquerda
histograma_esquerda <- ggplot(data.frame(amostra), aes(x = amostra)) +
  geom_histogram(fill = "grey", color = "black", bins = 20) +
  theme_minimal() +
  labs(x = "Valores", y = "", title = "Teste Unicaudal a Esquerda") +
  geom_vline(xintercept = zlim_esquerda, color = "red", linetype = "dashed", size = 1.5) +
  annotate("text", x = zlim_esquerda, y = 50, label = "RC", color = "red", size = 4) +
  annotate("text", x = 0, y = 50, label = "RN", color = "blue", size = 4, hjust = 0.5)

# Imprimir o gráfico
histograma_esquerda
```

------------------------------------------------------------------------

### Tabela - Probabilidade Acumulada por quantidade de desvios padrões

```{r distr_prob, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}
# Definir as quantidades de desvios padrões
desvios <- c(-3, -2, -1, 0, 1, 2, 3)

# Calcular as probabilidades acumuladas para cada quantidade de desvios padrões
prob_acumulada <- pnorm(desvios)

# Criar a tabela com os resultados
tabela_prob <- data.frame(Desvios_Padroes = desvios, Probabilidade_Acumulada = prob_acumulada)

print(tabela_prob)
```

------------------------------------------------------------------------

## Para a construção de uma hipótese devemos seguir os seguintes passos:

\justifying

1.  Escolher o teste estatístico adequado;
2.  Declarar a hipótese nula $H_{0}$ e a hipótese alternativa $H_{1}$;
3.  Definir o nível de significância $\alpha$ (em geral de $\alpha \leq$
    0,05);
4.  Calcular o valor observado da estatística do teste com base na
    amostra extraída da população;
5.  Estabelecer a região crítica do teste em função do $\alpha$ fixado
    na etapa 3;
6.  Tomar a decisão de não rejeitar $H_{0}$ ou rejeitá-la em detrimento
    de $H_{1}$.

```{=tex}
\begin{flushright}
Fávero \& Belfiore (2017)
\end{flushright}
```

------------------------------------------------------------------------

## Para a construção de uma hipótese devemos seguir os seguintes passos:

\justifying

Em geral, define-se nível de significância ($\alpha$) e a partir dele,
decide-se quanto à rejeição ($H_{1}$) ou não rejeição ($H_{0}$). A regra
de decisão consiste em
\textcolor{red}{\textbf{rejeitar $H_{0}$ quando o p-valor for menor que $\alpha$}}.

```{=tex}
\begin{flushright}
Fávero \& Belfiore (2017)
\end{flushright}
```
### AVISO

Para cada teste de hipótese, busque entender:

(i) O que ele faz?
(ii) Quais os pressupostos?
(iii) Para que ele serve?
(iv) Como ele é operacionalizado?
(v) Qual a regra de decisão?

------------------------------------------------------------------------

## Testes Paramétricos e Não Paramétricos

\justifying

Existem diversos testes de hipóteses possíveis.

Uma primeira classificação os agrupam em
\textcolor{blue}{\textbf{testes paramétricos}} e
\textcolor{red}{\textbf{testes não paramétricos}}. Os
\textcolor{blue}{\textbf{testes paramétricos}} são aqueles que exigem
que se atendam algumas condições:

-   observações independentes;
-   distribuição normal;
-   variâncias homogêneas;
-   variáveis sejam
    \textcolor{brown}{\textbf{quantitativas (contínuas ou discretas)}}.

Os \textcolor{red}{\textbf{testes não paramétricos}} não exigem essas
suposições e são aplicáveis a
\textcolor{brown}{\textbf{variáveis qualitativas}}.

------------------------------------------------------------------------

## Testes Paramétricos e Não Paramétricos

\justifying

Considerando essa diversidade de testes, nós vamos focar em três tipos
específicos, que são os mais utilizados na pesquisa em contabilidade:

1.  Normalidade (Shapiro-Wilk; Kolmogorov-Smirnov; Shapiro-Francia);
2.  Diferença de médias (Teste t para amostras independentes, Teste t
    emparelhado, ANOVA);
3.  Diferença de medianas (Mann-Whitney, Wilcoxon, Kruskal-Wallis);

------------------------------------------------------------------------

## Testes de Normalidade

\justifying

Os testes de normalidade são necessários para
\textcolor{brown}{\textbf{verificarmos se uma variável possui uma distribuição normal ou não}}.
Isso pode ser necessário para observarmos, por exemplo, se atende:

1.  À suposição de um teste de hipótese paramétrico;
2.  Ao pressuposto de normalidade dos resíduos (em análise de
    regressão).

```{r normalidade, echo=FALSE, message=FALSE, warning=FALSE}
library(knitr)
library(kableExtra)

# Tabela de testes de normalidade
normality_tests <- data.frame(
  Test = c("SW", "KS", "SF"),
  Function = c("shapiro.test()", "ks.test()", "sf.test()"),
  Description = c("para pequenas amostras",
                  "para grandes amostras",
                  "para grandes amostras")
)

# Função para formatar a tabela
format_table <- function(data) {
  tbl <- kable(
    data,
    caption = "Tabela de Testes de Normalidade e Funções no R",
    col.names = c("Teste", "Função", "Descrição"),
    align = c("l", "l", "l"),
    format = "markdown",
    escape = FALSE
  )
  
  tbl <- tbl %>%
    footnote(
      general_title = "Notas:",
      general = "SW - Shapiro-Wilk; KS - Kolmogorov-Smirnov; SF - Shapiro-Francia"
    )
  
  return(tbl)
}

# Tabela de testes de normalidade
format_table(normality_tests)


```

------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Quando usar?

\justifying

-   É utilizado para se avaliar a normalidade da distribuição de um
    conjunto de dados (amostrais).
-   É utilizado quando se tem amostras com menos de 30 observações.

### Hipótese do teste

-   $H_{0}$: a variável x na população possui uma distribuição normal
    N($\mu, \sigma$) \newline
-   $H_{1}$: a variável x na população não possui uma distribuição
    normal N($\mu, \sigma$)
    ------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Definição do nível de significância

\justifying

Na área de Ciências Sociais Aplicadas, em especial, na Contabilidade,
*5% de nível de significância é o mais observado*.

------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Como operacionalizá-lo?

No R, você pode utilizar o seguinte código:

```{r SW, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE}
library(dplyr)

if (!exists("Base_R_Artigo_PEA")) {
  load("C:/Users/Vagne/OneDrive/DOCUME~1-LAPTOP-0CUBQV8E-28620/Programa-Mentoria/2.Testes-Hipoteses_files/environment_testes_hipoteses.RData")
}

# Selecionar uma amostra menor que trinta observações
amostra <- sample(Base_R_Artigo_PEA$TAM, size = 20)


```

------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Histograma (Amostra pequena)

```{r hist_amost, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}

#Histograma da amostra
hist(amostra)


```

------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Como operacionalizá-lo?

```{r SW_c, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE}

# Realizar o teste de Shapiro-Wilk na amostra
result_sw <- shapiro.test(amostra)

# Imprimir o resultado
result_sw
```

------------------------------------------------------------------------

## Teste de Shapiro-Wilk

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), logo, os dados não apresentam uma distribuição
    normal.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, os
    dados apresentam uma distribuição normal.

------------------------------------------------------------------------

## Teste Shapiro-Francia

### Quando usar?

\justifying

-   É utilizado para se avaliar a normalidade da distribuição de um
    conjunto de dados (amostrais).
-   É utilizado quando se tem amostras com igual ou superior a 30
    observações.

### Hipótese do teste

\justifying

-   $H_{0}$: a variável x na população possui uma distribuição normal
    N($\mu, \sigma$) \newline
-   $H_{1}$: a variável x na população não possui uma distribuição
    normal N($\mu, \sigma$)
    ------------------------------------------------------------------------

## Teste Shapiro-Francia

### Histograma (com oultliers - amostra grande)

```{r hist_subamost, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE}

#Histograma da amostra
hist(Base_R_Artigo_PEA$TAM)

```

------------------------------------------------------------------------

## Teste Shapiro-Francia

### Excluindo os valores extremos (outliers)

```{r outliers, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE}
library(dplyr)
#Histograma sem outliers

Base_R_Artigo_PEA_semoutliers <- as.data.frame(Base_R_Artigo_PEA) %>%
  dplyr:: mutate(TAM_Soutlier = TAM) %>%
  dplyr:: filter(TAM_Soutlier >= 14 & TAM_Soutlier <= 27 ) %>%
  dplyr:: filter(!is.na(TAM_Soutlier))

```

------------------------------------------------------------------------

### Histograma (Sem outliers - amostra grande)

```{r hist_soutliers, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE}

hist(Base_R_Artigo_PEA_semoutliers$TAM_Soutlier)

```

------------------------------------------------------------------------

## Teste Shapiro-Francia

### Como operacionalizá-lo?

No R, você pode utilizar o seguinte código:

```{r sfrancia, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}
# Carregar o pacote nortest
library(nortest)

# Realizar o teste Shapiro-Francia
result_sfrancia <- sf.test(Base_R_Artigo_PEA$TAM)
result_sfrancia_soutlier <- sf.test(Base_R_Artigo_PEA_semoutliers$TAM_Soutlier)

```

------------------------------------------------------------------------

## Teste Shapiro-Francia

### Como operacionalizá-lo?

```{r sfrancia_r, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}

# Imprimir o resultado
result_sfrancia
result_sfrancia_soutlier
```

------------------------------------------------------------------------

## Teste Shapiro-Francia

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), logo, os dados não apresentam uma distribuição
    normal.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, os
    dados apresentam uma distribuição normal.

------------------------------------------------------------------------

## Teste Kolmogorov-Smirnov

### Quando usar?

\justifying

-   É utilizado para se avaliar a normalidade da distribuição de um
    conjunto de dados (amostrais).
-   É utilizado quando se tem amostras com tamanho igual ou superior a
    30 observações.

### Hipótese do teste

\justifying

-   $H_{0}$: a variável x na população segue uma distribuição normal
    N($\mu, \sigma$) \newline
-   $H_{1}$: a variável x na população não segue uma distribuição normal
    N($\mu, \sigma$)
    ------------------------------------------------------------------------

## Teste Kolmogorov-Smirnov

### Como operacionalizá-lo?

No R, você pode utilizar o seguinte código:

```{r ks, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}

# Teste de Kolmogorov-Smirnov na amostra completa
result_ks <- ks.test(Base_R_Artigo_PEA$TAM, "pnorm", mean(Base_R_Artigo_PEA$TAM), sd(Base_R_Artigo_PEA$TAM))

# Teste de Kolmogorov-Smirnov na amostra sem outliers
result_ks_soutliers <- ks.test(Base_R_Artigo_PEA_semoutliers$TAM_Soutlier, "pnorm", mean(Base_R_Artigo_PEA_semoutliers$TAM_Soutlier), sd(Base_R_Artigo_PEA_semoutliers$TAM_Soutlier))

# Imprimir os resultados
result_ks
result_ks_soutliers

```

------------------------------------------------------------------------

## Teste Kolmogorov-Smirnov

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), logo, os dados não apresentam uma distribuição
    normal.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, os
    dados apresentam uma distribuição normal.

------------------------------------------------------------------------

## Testes de diferenças entre as médias (Testes Paramétricos)

\justifying

Os testes de diferenças entre as médias são úteis na pesquisa em
contabilidade, pois com muita frequência queremos:

-   Comparar médias de diversas variáveis entre dois grupos
    independentes; $$\mu_{reapr} = \mu_{Nreapr}$$
    $$\mu_{Big4} = \mu_{NBig4}$$

-   comparar médias de diversas variáveis antes e depois de um
    tratamento. $$\mu_{Pré-IFRS} = \mu_{Pós-IFRS}$$
    $$\mu_{Pré-reapr} = \mu_{Pós-reapr}$$

------------------------------------------------------------------------

## Testes de diferenças entre as médias (Testes Paramétricos)

### Os testes paramétricos mais usados, sobretudo na pesquisa em contabilidade são:

\justifying

-   Teste t de Student para duas amostras independentes (Tratamento e
    Controle);
-   Teste t de Student para duas amostras emparelhadas (Pré e Pós
    evento);
-   Teste ANOVA (Para mais de duas amostras).

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Quando utilizar?

\justifying

-   Quando o objetivo for analisar dados de amostras independentes
    (Empresas que reapresentaram e que não reapresentaram);
-   Quando os dados das duas amostras tiverem uma distribuição normal;
-   É preciso analisar também se a variância é homogênea (ou não).

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Hipótese do teste

<center>

$$H_{0}: \mu_{1} = \mu_{2}$$ \newline $$H_{1}: \mu_{1} \neq  \mu_{2}$$

<center>

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Como operacionalizar?

```{r ttest_homogenea, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}
# Carregando a biblioteca
# Realizar o teste t para amostras independentes
result_ttest <- t.test(FEES ~ BIG, data = Base_R_Artigo_PEA_semoutliers, 
                       alternative = "two.sided", 
                       var.equal = TRUE, 
                       na.rm = TRUE)

# Extrair os resultados relevantes
p_value <- format(result_ttest$p.value, digits = 4)
estimate_diff <- format(result_ttest$estimate, digits = 4)
```

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Como operacionalizar?

```{r ttest_homogenea_2, echo=TRUE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}
# Imprimir os resultados
cat("Teste t para amostras independentes:\n")
cat("NBig4 vs. Big4\n")
cat("P-valor:", p_value, "\n")
cat("Diferença de médias:", estimate_diff, "\n")

```

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Como operacionalizar?

```{r ttest_heterogenea, echo=FALSE, message=FALSE, warning=FALSE, paged.print=FALSE, cache=TRUE}
# Carregando a biblioteca
# Realizar o teste t para amostras independentes
result_ttest_het <- t.test(FEES ~ BIG, data = Base_R_Artigo_PEA_semoutliers, 
                       alternative = "two.sided", 
                       var.equal = FALSE, 
                       na.rm = TRUE)

# Extrair os resultados relevantes
p_value <- format(result_ttest_het$p.value, digits = 4)
estimate_diff <- format(result_ttest_het$estimate, digits = 4)

# Imprimir os resultados
cat("Teste t para amostras independentes:\n")
cat("NBig4 vs. Big4\n")
cat("P-valor:", p_value, "\n")
cat("Diferença de médias:", estimate_diff, "\n")

```

------------------------------------------------------------------------

## Teste t de Student para duas amostras independentes

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Quando utilizar?

\justifying

-   Quando o objetivo for analisar dados de amostras emparelhadas (antes
    e depois de um tratamento);
-   Quando os dados das duas amostras tiverem uma distribuição normal;
-   Quando os dados tiverem variância homogênea.

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Hipótese do teste

<center>

$$H_{0}: \mu_{d} = 0, \mu_{d} = \mu_{pré} - \mu_{pós}$$ \newline
$$H_{1}: \mu_{d} \neq 0$$

<center>

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Como operacionalizar?

```{r ttest_emparelhadas, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

base_fee_pre <- Base_R_Artigo_PEA_semoutliers %>%
  dplyr::mutate(Pos_PAA = ifelse(Data < 2017, 0, 1)) %>%
  dplyr::select("Ticker", "Data", "FEES", "Pos_PAA") %>%
  dplyr::filter(Data < 2017) %>%
  dplyr::slice_sample(n = 773)

base_fee_pos <- Base_R_Artigo_PEA_semoutliers %>%
  dplyr::mutate(Pos_PAA = ifelse(Data < 2017, 0, 1)) %>%
  dplyr::select("Ticker", "Data", "FEES", "Pos_PAA") %>%
  dplyr::filter(Data > 2016)
```

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Como operacionalizar?

```{r ttest_emparelhadas_c1, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

# Realizar o left join pelo campo "Ticker"
base_ttest_par <- dplyr::left_join(base_fee_pre, base_fee_pos, by = "Ticker")

base_ttest_par <- base_ttest_par %>%
  dplyr::rename(FEES_pre = "FEES.x",
                FEES_pos = "FEES.y")
```

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Como operacionalizar?

```{r ttest_emparelhadas_c2, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

# Realizar o teste t pareado

attach(base_ttest_par)
result <- t.test(FEES_pre, 
                 FEES_pos,
                 paired = TRUE)
```

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Como operacionalizar?

```{r ttest_emparelhadas_c3, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}
# Exibir o resultado do teste t pareado
print(result)

```

------------------------------------------------------------------------

## Teste t de Student para duas amostras emparelhadas

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.

------------------------------------------------------------------------

## Teste ANOVA (Análise de Variância)

### Quando utilizar?

\justifying

-   Quando o objetivo for comparar médias de três ou mais amostras
    independentes, por meio da variância; (Segmentos Econômicos,
    Estágios do Ciclo de Vida, Firmas de Auditoria);
-   Quando os dados das duas amostras tiverem uma distribuição normal;
-   Quando as variâncias forem homogêneas.

------------------------------------------------------------------------

## Teste ANOVA (Análise de Variância)

### Hipótese do teste

<center>

$$H_{0}: \mu_{1} = \mu_{2} = \mu_{3} = \ldots \mu_{k}$$

$$H_{1}: \exists_{(i,j)} \mu_{i} \neq \mu_{j}$$

</center>

------------------------------------------------------------------------

## Teste ANOVA (Análise de Variância)

### Como operacionalizar?

```{r anova, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

anova_teste <- aov(FEES ~ factor(SetorL)*factor(ECV),
                   data = Base_R_Artigo_PEA_semoutliers)

```

------------------------------------------------------------------------

## Teste ANOVA (Análise de Variância)

### Como operacionalizar?

```{r anova_r, echo=FALSE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}
summary(anova_teste)

```

------------------------------------------------------------------------

## Teste ANOVA (Análise de Variância)

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.
    ------------------------------------------------------------------------

## Testes de diferenças entre as medianas (Testes Não-Paramétricos)

```{r testes_np, echo=FALSE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

library(knitr)

# Tabela com os testes paramétricos e não paramétricos
tabela <- data.frame(
  "Não Paramétrico" = c("Teste de Wilcoxon", 
                        "Teste de Mann-Whitney",
                      "Teste de Kruskal-Wallis"),
  "Paramétrico" = c("Teste t de Student para amostras independentes",
                  "Teste t para amostras emparelhadas",
                  "Análise de Variância"))

# Renderizar a tabela no formato do R Markdown
kable(tabela, caption = "Testes Paramétricos e Não Paramétricos", 
      align = "c", 
      format = "markdown")

```

------------------------------------------------------------------------

## Teste de Wilcoxon

### Quando utilizar ?

\justifying

Substituto do Teste T para amostras independentes, quando uma ou mais
suposições do equivalente paramétrico forem violadas.

### Hipótese do teste

<center>

$$H_{0}: \mu_{d} = 0$$

$$H_{1}: \mu_{d} \neq 0$$

</center>

------------------------------------------------------------------------

## Teste de Wilcoxon

### Como operacionalizar ?

```{r Wilcoxon, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

library(rstatix)

wilcox_test(FEES ~ BIG, 
            data = Base_R_Artigo_PEA_semoutliers)

```

------------------------------------------------------------------------

## Teste de Wilcoxon

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.

------------------------------------------------------------------------

## Teste de Mann-Whitney

### Quando utilizar ?

\justifying

Substituto do Teste T para amostras emparelhadas, quando uma ou mais
suposições do equivalente paramétrico forem violadas.

### Hipótese do teste

<center>

$$H_{0}: \mu_{d} = 0$$

$$H_{1}: \mu_{d} \neq 0$$

</center>

------------------------------------------------------------------------

## Teste de Mann-Whitney

### Como operacionalizar ?

```{r Mann_withney, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

# Teste U de Mann-Whitney (Wilcoxon)
wilcox.test(base_ttest_par$FEES_pre,
            base_ttest_par$FEES_pos)


```

------------------------------------------------------------------------

## Teste de Mann-Whitney

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.

------------------------------------------------------------------------

## Teste Kruskal-Wallis

### Quando utilizar ?

\justifying

Substituto do ANOVA, quando uma ou mais suposições do equivalente
paramétrico forem violadas.

### Hipótese do teste

<center>

$$H_{0}: \mu_{1} = \mu_{2} = \mu_{3} = \ldots \mu_{k}$$

$$H_{1}: \exists_{(i,j)} \mu_{i} \neq \mu_{j}$$

</center>

------------------------------------------------------------------------

## Teste Kruskal-Wallis

### Como operacionalizar ?

```{r KW, echo=TRUE, message=FALSE, warning=FALSE, cache=TRUE, paged.print=FALSE}

# Executar o teste de Kruskal-Wallis com interação
kruskal.test(FEES ~ ECV, 
             data = Base_R_Artigo_PEA_semoutliers)

```

------------------------------------------------------------------------

## Teste Kruskal-Wallis

### Regra de decisão

\justifying

-   Se o p-valor $\leq$ 0,05 ($\alpha$) implica em rejeição da hipótese
    nula ($H_{0}$), existe diferença entre as médias.

-   Se o p-valor $>$ $\alpha$ implica em não rejeitar $H_{0}$, logo, não
    existe diferença entre as médias.

------------------------------------------------------------------------

## Referências

-   Fávero, L.P.; Belfiore, P. **Análise de Dados: Estatística e
    Modelagem Multivariada com Excel, SPSS e Stata**. (2017). 1 ed. Rio
    de Janeiro: Elsevier.

-   Fávero, L.P.; Belfiore, P.; & Souza, R.F. (2023). **Data Science,
    Analytics and Machine Learning With R**. London: Elsevier.

-   Morettin, P.A.; Singer, J.M. **Estatística e Ciência de
    Dados**.(2022) 1.ed. Rio de Janeiro: LTC.


------------------------------------------------------------------------

**Obrigado pela sua participação!**

Contamos com a sua presença nas próximas oficinas!

Para saber mais sobre as oficinas, siga o perfil \textcolor{blue}{\textbf{@gecat.ufes}} no Instagram. \textcolor{red}{\(\smiley\)}

Acesse o nosso canal no YouTube, faça sua inscrição e ative as notificações:
[https://www.youtube.com/@GECAT_UFES](https://www.youtube.com/@GECAT_UFES)
